var express = require('express');
var router = express.Router();
var PATH = "./public/data/";
var fs = require("fs");
var dayjs = require('dayjs');

const mysql = require('mysql2');
const { log } = require('console');




let leftList = [
  {
    title: '最新新闻',
    link: '/',
    index: 0
  },
  {
    title: '最新通知',
    link: '/about',
    index: 1
  },
  {
    title: '最新成果',
    link: '/users',
    index: 2
  },
  {
    title: '媒体文摘',
    link: '/users',
    index: 3
  },
  {
    title: '最新技术',
    link: '/users',
    index: 4
  },
  {
    title: '媒体报道',
    link: '/users',
    index: 5
  },
  {
    title: '科研活动',
    link: '/users',
    index: 6
  },
  {
    title: '合作交流',
    link: '/users',
    index: 7
  },
]


let honorList = [
  {
    msg: '用自身优势在60年的发展历程中，冶金工业信息标准研究院充分利用自身优势',
    src: './images/people.png',
    info: '务实',
    index: 0,
    time: '2025-03-19 10:32',
    title: '优质方案'
  },
  {
    msg: '既然DNA修饰如此神奇，那细胞内到底有多少种DNA修饰',
    src: './images/blood.png',
    info: '创新',
    index: 1,
    time: '2025-03-19 10:32',
    title: '稳定技术'
  },
  {
    msg: '既然DNA修饰如此神奇，那细胞内到底有多少种DNA修饰',
    src: './images/blood.png',
    info: '卓越',
    index: 1,
    time: '2025-03-19 10:32',
    title: '真诚服务'
  },
  {
    msg: '在60年的发展历程中，冶金工业信息标准研究院充分利用自身优势',
    src: './images/people.png',
    info: '务实',
    index: 0,
    time: '2025-03-19 10:32',
    title: '优质方案'
  },
  {
    msg: '既然DNA修饰如此神奇，那细胞内到底有多少种DNA修饰',
    src: './images/blood.png',
    info: '创新',
    index: 1,
    time: '2025-03-19 10:32',
    title: '稳定技术'
  },
  {
    msg: '既然DNA修饰如此神奇，那细胞内到底有多少种DNA修饰',
    src: './images/blood.png',
    info: '卓越',
    index: 1,
    time: '2025-03-19 10:32',
    title: '真诚服务'
  },
  {
    msg: '在60年的发展历程中，冶金工业信息标准研究院充分利用自身优势',
    src: './images/people.png',
    info: '务实',
    index: 0,
    time: '2025-03-19 10:32',
    title: '优质方案'
  },
  {
    msg: '既然DNA修饰如此神奇，那细胞内到底有多少种DNA修饰',
    src: './images/blood.png',
    info: '创新',
    index: 1,
    time: '2025-03-19 10:32',
    title: '稳定技术'
  },
  {
    msg: '既然DNA修饰如此神奇，那细胞内到底有多少种DNA修饰',
    src: './images/blood.png',
    info: '卓越',
    index: 1,
    time: '2025-03-19 10:32',
    title: '真诚服务'
  },
  {
    msg: '在60年的发展历程中，冶金工业信息标准研究院充分利用自身优势',
    src: './images/people.png',
    info: '务实',
    index: 0,
    time: '2025-03-19 10:32',
    title: '优质方案'
  },
  {
    msg: '既然DNA修饰如此神奇，那细胞内到底有多少种DNA修饰',
    src: './images/blood.png',
    info: '创新',
    index: 1,
    time: '2025-03-19 10:32',
    title: '稳定技术'
  },
  {
    msg: '既然DNA修饰如此神奇，那细胞内到底有多少种DNA修饰',
    src: './images/blood.png',
    info: '卓越',
    index: 1,
    time: '2025-03-19 10:32',
    title: '真诚服务'
  },
  {
    msg: '‌我们不会做那种只有一两个用户的技术，也不会去做改良式的创新',
    src: './images/anastassia.png',
    info: '技术',
    index: 2,
    time: '2025-03-19 10:32',
    title: '按时交付'
  }
]

/* GET about page. */
router.get('/', function(req, res, next) {
  var index = req.params.index || 0;
  res.render('news', { title: '新闻动态', leftList: leftList, honorList:honorList, currentIndex: index });
});

router.get('/news/:index', function(req, res, next) {
  var index = req.params.index || 0;
  res.render('news', { title: '新闻动态', leftList: leftList, honorList:honorList, currentIndex: index });
});


router.get('/newspage', function(req, res, next) {
  var id = req.query.id;
  // 创建连接
  const connection = mysql.createConnection({
    host: '192.168.1.64',
    user: 'lpw94',
    password: '111111',
    database: 'test',
    port: 3306,
  });

  var sqltotal = 'SELECT * FROM usersubmit WHERE id=' + id;
  connection.query(sqltotal, (err, result) => {
    if (err) throw err;
    console.log('Results for query 2:', result);
    if (result.length == 0) {
      res.render('newspage', { title: '新闻详情页面', result: {}, id: id});
      return;
    }
    var data = result[0];
    data.time = dayjs(data.time).format('YYYY-MM-DD HH:mm:ss');
    res.render('newspage', { title: '新闻详情页面', result: data, id: id});
    connection.end();
  });


   //1)读取数据信息
  //  fs.readFile(PATH + "news.json", function (err, data) {
  //   //读取文件出现异常
  //   if (err) {
  //       //接口返回数据
  //       return res.send({
  //           status: 0,
  //           info: "读取文件异常",
  //           data: []
  //       })
  //   }
  //   //数据信息
  //   var arr = JSON.parse(data.toString());
  //   //2)调用方法，获取id相关的数据信息
  //   var result = findByIdHandler(arr, id);
  //   //3)接口返回数据
  //   res.render('newspage', { title: '新闻详情页面', result: result, id: id});
// });
  
});


router.get('/newslist/:pageIndex/:pageSize', function(req, res, next) {
    var pageSize = Number(req.param('pageSize')) || 10;
    var pageIndex = Number(req.param('pageIndex')) || 1;
    var totalPages = 1;

    var sqltotal = 'SELECT COUNT(*) FROM usersubmit;';
    var sql = `SELECT * FROM usersubmit limit ${(pageIndex-1) * pageSize}, ${pageSize}`;
    log(pageSize, pageIndex, '===========');

    // 创建连接
  const connection = mysql.createConnection({
    host: '192.168.1.64',
    user: 'lpw94',
    password: '111111',
    database: 'test',
    port: 3306,
  });



    //查
    connection.query(sql,function (err, result) {
            if(err){
              console.log('[SELECT ERROR] - ',err.message);
              return;
            }
    
          console.log('--------------------------SELECT----------------------------', pageSize);
          console.log(result);
          console.log('------------------------------------------------------------\n\n'); 
          
          var list = result.map((item)=>{
            item.time = dayjs(item.time).format('YYYY-MM-DD HH:mm:ss');
            return item
          })
          connection.query(sqltotal, (err, results2) => {
            if (err) throw err;
            console.log('Results for query 2:', results2);

            res.render('newslist', { 
              title: '新闻列表页面',
              newsList: list,
              pageIndex: pageIndex, //当前第几页(默认为一)
              pageSize: pageSize,//页数大小默认为10)
              totalPages: results2[0]['COUNT(*)']%pageSize == 0 ? results2[0]['COUNT(*)'] / pageSize : Math.ceil(results2[0]['COUNT(*)'] / pageSize), //总页数
            });

            connection.end();
          });



          

    });



   //1)读取数据信息
  //  fs.readFile(PATH + "news.json", function (err, data) {
  //   //读取文件出现异常
  //   if (err) {
  //       //接口返回数据
  //       return res.send({
  //           status: 0,
  //           info: "读取文件异常",
  //           data: []
  //       })
  //   }
  //   //数据信息
  //   var arr = JSON.parse(data.toString());
  //   var result = null;
  //   var count = arr.length;
  //   //1) 总条数小于等于每页数 那就只有一页
  //   if (count <= pageSize) {
  //       totalPages = 1;
  //       result = arr;
  //   } else {
  //       //2) 总条数大于每页数
  //       totalPages = count % pageSize == 0 ? count / pageSize : Math.ceil(count / pageSize);
  //       //3）处理数据进行分页操作 0,5  5,10  15,20
  //       result = arr.slice((pageIndex - 1) * pageSize, pageSize * pageIndex);
  //   }


  //   res.render('newslist', { 
  //     title: '新闻列表页面',
  //     newsList: result,
  //     pageIndex: pageIndex, //当前第几页(默认为一)
  //     pageSize: pageSize,//页数大小默认为10)
  //     totalPages: totalPages //总页数
  //   });
// });
  
});




/**
 * 在数组中查找指定 ID 的元素
 * @param {Array} arr - 要搜索的数组
 * @param {string|number} id - 要查找的 ID
 * @returns {Object|null} 返回找到的元素对象,如果未找到则返回 null
 */
function findByIdHandler(arr, id) {
  var result = null;
  for (var i = 0; i < arr.length; i++) {
      if (arr[i].id == id) {
          result = arr[i];
          break;
      }
  }
  return result;
}


module.exports = router;
